package com.zql.LC_classic148;

/**
 * Created By ShuHua on 2021/7/5.
 */

import com.zql.baseEntity.TreeNode;

/**
 * LC22 二叉树根节点到叶子节点的所有路径和
 * 给定一个仅包含数字\ 0-9 0−9 的二叉树，每一条从根节点到叶子节点的路径都可以用一个数字表示。
 例如根节点到叶子节点的一条路径是1\to 2\to 31→2→3,那么这条路径就用\ 123 123 来代替。
 找出根节点到叶子节点的所有路径表示的数字之和
 */
public class LC22_tree {

    public int sumNumbers (TreeNode root) {
        int sum=0;
        int i=0;
        if(root==null) return -1;
        sum(root,sum,i);
        return sum;
    }
    public void sum(TreeNode root,int n,int i){
        n=new Double(n*Math.pow(10,i)+root.val).intValue();
        if(root.left==null&&root.right==null){
            return ;
        }
        if (root.right!=null){
            sum(root.right,n,i+1);
        }
        if(root.left!=null){
            sum(root.left,n,i+1);
        }
    }

}

